//
//  XGInitConfig.h
//  whalesdk_oc
//
//  Created by wzz on 2024/6/13.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN


@interface XGInitConfig : NSObject
// 必传 渠道
@property (nonatomic, copy) NSString *channel;
// 必传 app版本号
@property (nonatomic, copy) NSString *appVersion;
// 可选 批量处理的最大条数 默认5
@property (nonatomic, assign) NSInteger batchSize;
// 可选 日志上报最大间隔 默认5
@property (nonatomic, assign) NSInteger sendIntervalSeconds;
// 可选 检查日志上报间隔 默认1
@property (nonatomic, assign) NSInteger checkSendIntervalSeconds;
// 可选 HTTP发送超时时间  默认3
@property (nonatomic, assign) NSInteger httpTimeoutSeconds;
// 可选 数据上报的URL地址 默认 http://xgdata.xgsdk.com
@property (nonatomic, copy) NSString *dataUrl;
// 可选 缓存文件存储目录，默认存在沙盒目录下
@property (nonatomic, copy) NSString *dataSaveRootPath;
// 可选，优先对象传入，不传入则读取info.plist，info.plist配置没有则初始化失败
@property (nonatomic, copy) NSString *appId;
// 可选，优先对象传入，不传入则读取info.plist
@property (nonatomic, copy) NSString *btAppId;
// 可选 变天sdk id 买量字段
@property (nonatomic, copy) NSString *btSdkId;
// 可选 屏幕大小，不传则默认获取
@property (nonatomic, copy) NSString *deviceScreen;
// 可选 设备类型，不传则默认获取
@property (nonatomic, copy) NSString *deviceType;
// 可选 设备model，不传则默认获取
@property (nonatomic, copy) NSString *deviceModel;
// 可选 设备品牌，不传则默认获取
@property (nonatomic, copy) NSString *deviceBrand;
// 可选 deviceid，不传则默认获取
@property (nonatomic, copy) NSString *deviceId;
// 可选 网络，不传则默认获取
@property (nonatomic, copy) NSString *netWork;
// 可选 内存大小，不传则默认获取
@property (nonatomic, copy) NSString *memory;
// 可选 系统版本，不传则默认获取
@property (nonatomic, copy) NSString *osVersion;
// 可选 系统，不传则默认获取
@property (nonatomic, copy) NSString *os;
// 可选 包名，不传则默认获取
@property (nonatomic, copy) NSString *packageName;
// 可选，app版本code
@property (nonatomic, copy) NSString *appVersionCode;
// 可选，渠道id,不传则默认获取
@property (nonatomic, copy) NSString *xgAdChannelId;
// 可选，不传则默认获取
@property (nonatomic, copy) NSString *oceanChannelId;
// 可选 打包number,
@property (nonatomic, copy) NSString *buildNumber;
// 可选,web ua，不传则默认获取
@property (nonatomic, copy) NSString *userAgent;
// 可选,隐私协议，
@property (nonatomic, copy) NSString *privacyAgreement;

- (NSDictionary *)toMap;

- (NSString *)toJsonStr;

@end

NS_ASSUME_NONNULL_END
